home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / PASCAL / ALLSWAGS.ZIP / SWAGG-M.ZIP / MISC.SWG / 0131_Array in BASM.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-05-26  |  720 b   |  22 lines

  1.  
  2. { Updated MISC.SWG on May 26, 1995 }
  3.  
  4. {
  5. From: dmurdoch@mast.queensu.ca (Duncan Murdoch)
  6.  
  7. >How can I access double-dimentional arrays in Pascal using asm?  My array
  8. >is declared like this: var myarray:array[0..5] of array[0..5] of byte.
  9.  
  10. You need to do the addressing yourself.  For example, to load myarray[i,j]
  11. into AH, do the following:
  12. }
  13.   mov ax, i
  14.   mov bx, 6     { The size of a row of your array }
  15.   mul bx        { Now ax holds the offset to element myarray[i,0] }
  16.   add ax,j      { now it holds the offset to element myarray[i,j] }
  17.   mov bx,ax     { Put the offset in BX. }
  18.   mov ah,myarray[bx]  { Load the byte at the calculated offset }
  19. {
  20. This is untested, but it looks okay to me...
  21. }
  22.